a28fc525bd718d70f92884173ee30cda043a6a25,src/main/java/hex/Trainer.java,Threaded,Threaded,#Layer[]#number#Key#,149

Before Change


    final AtomicLong _processed = new AtomicLong();

    public Threaded(Layer[] ls, double epochs, final Key job) {
      _trainers = new Base[Runtime.getRuntime().availableProcessors()];
      _threads = new Thread[_trainers.length];
      _stepsPerThread = (long) (epochs * ((Input) ls[0])._len / _threads.length);
      _resume = new CyclicBarrier(_threads.length + 1);

      for( int t = 0; t < _trainers.length; t++ ) {
        Layer[] clones = new Layer[ls.length];

After Change


    final AtomicLong _processed = new AtomicLong();

    public Threaded(Layer[] ls, double epochs, final Key job) {
      final int num_threads = Runtime.getRuntime().availableProcessors();
      _trainers = new Base[num_threads];
      _threads = new Thread[num_threads];
      _stepsPerThread = (long) (epochs * ((Input) ls[0])._len / num_threads);